#!/bin/bash

echo "--------- 开始尝试安装魔笔马良环境 ------------"
mbmlpath=$HOME/Desktop/mtai_workspace/MobiMaliangSDK
# 创建mtai_workspace文件夹
mkdir -pv $mbmlpath # 创建mtai_workspace文件夹

echo "------------- 下载项目文件 -------------------"
echo "------------- 下载项目文件 -------------------"
echo "------------- 下载项目文件 -------------------"

max_attempts=3
attempts=0

while [ $attempts -lt $max_attempts ]; do
    # 删除现有目录
    rm -rf "$mbmlpath"

    # 尝试第一个 git clone
    git clone https://github.com/MooreThreads/MobiMaliangSDK "$mbmlpath"

    # 检查第一个 git clone 是否成功
    if [ $? -eq 0 ]; then
        echo "第一个 git clone 成功。"
        break
    else
        echo "第一个 git clone 失败，尝试第二个 git clone..."

        # 尝试第二个 git clone
        git clone https://gitee.com/Credhat/MobiMaliangSDK.git "$mbmlpath" # 下载项目，更换gitee，更适合中国

        # 检查第二个 git clone 是否成功
        if [ $? -eq 0 ]; then
            echo "第二个 git clone 成功。"
            break
        else
            echo "第二个 git clone 也失败。"
            ((attempts++))
            sleep 5 # 等待一段时间再重试，可以根据需要调整等待时间
        fi
    fi
done

if [ $attempts -eq $max_attempts ]; then
    echo "已达到最大尝试次数，仍未成功。请检查网络或手动下载项目。"
    exit 1
fi

cd $mbmlpath # 进入下载好的魔笔马良项目文件夹

echo "------------- 安装 GPU 驱动-------------------"
echo "------------- 安装 GPU 驱动-------------------"
echo "------------- 安装 GPU 驱动-------------------"
max_attempts=3
attempts=0

while [ $attempts -lt $max_attempts ]; do
    # 安装 GPU 驱动
    sudo bash install_driver.sh -y

    # 运行 mthreads-gmi
    mthreads-gmi

    if [ $? -eq 0 ]; then
        echo "GPU 驱动安装并检查成功。"
        break
    else
        echo "尚未发现 GPU 设备，重新执行安装..."
        ((attempts++))
        sleep 5 # 等待一段时间再重试，可以根据需要调整等待时间
    fi
done

if [ $attempts -eq $max_attempts ]; then
    echo "已达到最大尝试次数，仍未成功。请手动检查和处理。"
fi

# 安装 Docker
sudo apt install docker.io # 安装Docker
sudo docker ps             # 检查Docker是否安装成功

max_attempts=3
attempts=0

while [ $attempts -lt $max_attempts ]; do
    wget "https://gitee.com/Credhat/MobiMaliangSDK/raw/main/UbuntuDeploy2.sh" -O UbuntuDeploy2.sh

    # 检查 wget 命令返回的状态
    if [ $? -eq 0 ]; then
        echo "下载成功，已写入 UbuntuDeploy2.sh。"
        break
    else
        echo "下载失败，尝试重新下载..."
        ((attempts++))
        sleep 5 # 等待一段时间再重试，可以根据需要调整等待时间
    fi
done

if [ $attempts -eq $max_attempts ]; then
    echo "已达到最大尝试次数，下载仍未成功。请检查网络连接。"
fi

sudo chmod +x ./UbuntuDeploy2.sh

echo "-------------------------------------------"
echo "-------------------------------------------"
echo 第一阶段自动安装结束.
echo 第一阶段自动安装结束.
echo "-------------------------------------------"
echo 需要您手动将 install.sh 文件里的账户和密码替换为你的开发者账户密码
echo 需要您手动将 install.sh 文件里的账户和密码替换为你的开发者账户密码
echo "-------------------------------------------"
echo 然后再次在终端中执行 ./UbuntuDeploy2.sh
echo 然后再次在终端中执行 ./UbuntuDeploy2.sh
